<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type="text/javascript">
	console.log("desc.jsp run");

	$(document).ready(function () {
		console.log("ready...");

		// 修改商品数量和商品总计
		updateResult();

		// 加入购物车
		addCart();

	});

	/**
	 * 修改商品数量和商品总计
		未考虑用户直接输入的情况：添加鼠标离开事件
	 * */
	function updateResult() {
		// 减少商品购买数量
		$("#reduce").click(function () {
			console.log("reduce click");

			// 获取目前的购买数量
			var resultStr = $("#result").val();
			var result = parseInt(resultStr); // 字符串类型转换成 数值类型
			if (result > 1) {
				result--;
			} else {
				result = 1;
			}
			// 修改数量后，设置值
			$("#result").val(result);

			// 获取商品单价
			var price = parseFloat($("#price").text());

			// 计算商品总计，保留两位小数，不足两位进行补0
			var total = (result * price).toFixed(2);
			$("#total").text(total);

			console.log("reduce click end: " + total);

		});

		// 增加商品购买数量
		$("#plus").click(function () {

			var resultStr = $("#result").val();
			var result = parseInt(resultStr);
			result++;
			$("#result").val(result);

			// 获取商品单价
			var price = parseFloat($("#price").text());

			// 计算商品总计，保留两位小数，不足两位进行补0
			var total = (result * price).toFixed(2);
			$("#total").text(total);

		});
	}

	// 加入购物车
	function addCart() {
		console.log("descJS.jsp > addCart run");

		$("#jrgwc").click(function () {
			console.log("descJS.jsp > addCart click");

			var gid = $("#gid").val(); // 获取商品cid
			var result = $("#result").val(); // 获取商品数量

			// 发送异步请求，加入购物车
			$.ajax({
				type: "POST",// 请求的方式默认为get 改为Post
				url: "${pageContext.request.contextPath}/CartServlet",// 往服务器端请求的地址 写成绝对路径
				data: {
					method: "addInCart",
					gid: gid,
					count: result,
				},// 往服务器端发送的数据
				// 接受服务器端数据函数 回调函数
				success: function (data) {
					// data是服务器返回的数据
					if (data) {
						alert(data);
					} else {
						if (confirm("您还未登录，在登录后才能加入购物车，是否去登录？")) {
							location = "${pageContext.request.contextPath}/jsps/users/login.jsp";
						}
					}
				}
			});

		});

	}
</script>